草庐IT

java - 从 OSGi 包访问命令行参数

全部标签

ruby - 具有 block 局部参数的多个 Kernel#local_variables 条目

我在ArchLinux上使用这个版本的Ruby。我还尝试了ruby​​1.9中的第一个代码片段,结果相同。ruby-vruby2.1.0p0(2013-12-25revision44422)[x86_64-linux]uname-aLinuxryantm0j1323.12.7-2-ARCH#1SMPPREEMPTSunJan1213:09:09CET2014x86_64GNU/Linux下面这三个片段是独立的程序。当我使用隐藏变量的block局部变量时,local_variables数组包含3个条目:a=1putslocal_variables.inspect#=>[:a]proc{|

ruby - 扩展模块和类变量访问?

我无法理解为什么在以下示例中访问模​​block的类变量失败:moduleM@@xyz=123endM.class_variables#[:@@xyz]M.class_variable_get:@@xyz#123,sofarsogoodclassCextendMendC.singleton_class.class_variables#[:@@xyz]C.singleton_class.class_variable_get:@@xyz#NameError:#uninitializedclassvariable@@xyzinClass谁能解释为什么类变量@@xyz在C的单例类中突然无法访问

ruby - 如何在 ruby​​ 中获得完整的命令行?

如何在ruby​​中获得完整的命令行?$railsc>$0=>"script/rails">ARGV[]>`ps-eo"%p|$|%a"|grep'^\\s*#{Process.pid}'`.strip.split("|$|")[1]=>"/home/sam/.rvm/rubies/ruby-1.9.3-p194-perf/bin/rubyscript/railsconsole"有什么比ninjaps更干净的方法可以得到相同的结果吗?澄清一下,以防混淆,我想要完全相同的输出:`ps-eo"%p|$|%a"|grep'^\\s*#{Process.pid}'`.strip.split("

ruby-on-rails - RSpec:多次期待一条消息但参数不同

我目前对连续调用的模拟设置了一些期望:规范:@my_mock=mock("a_mock")@options1={:some=>"option"}@options2={:some_other=>"option"}@first_param=mock("first_param")@my_mock.should_receive(:a_message).with(@first_param,@options1)@my_mock.should_receive(:a_message).with(@first_param,@options2)但是,我得到以下信息:Mock"a_mock"received

ruby-on-rails - 使用摩卡,有没有办法用很多参数 stub ?

假设我有这门课classFoodefbar(param1=nil,param2=nil,param3=nil):bar1ifparam1:bar2ifparam2:bar3ifparam3endend我可以使用stubwholebar方法:Foo.any_instance.expects(:bar).at_least_once.returns(false)但是,如果我只想在bar方法的param1为真时stub,我找不到办法:我也看了with,和has_entry,好像只适用于单个参数。我期待这样的功能。Foo.any_instance.expects(:bar).with('true

ruby - 如何在请求范围之外访问 Sinatra 的记录器

似乎Sinatra的记录器只能在请求处理程序中使用(参见https://github.com/sinatra/sinatra#logging),但是如果我想在其他地方使用记录器怎么办,例如在辅助方法或配置Hook中?Sinatra记录器是否可以通过其他方式使用? 最佳答案 Thedocs给出一些关于范围的示例,但是您可以在helperblock中定义的方法中看到logger帮助程序,因为帮助程序block具有Application范围。在configure中它不可用,但我倾向于做的是设置我自己的日志记录,在rackup文件中作为常量

ruby 默认参数习语

当你想要一个函数的默认参数,但它依赖于另一个参数/另一个变量时,Ruby中的习惯用法是什么?比如在Python中,一个例子是:definsort_right(a,x,lo=0,hi=None):ifhiisNone:hi=len(a)whilelo此处,如果未提供hi,则应为len(a)。您不能在默认参数列表中执行len(a),因此您为它分配一个标记值None,并检查它。Ruby中的等价物是什么? 最佳答案 deffoo(a,l=a.size)end 关于ruby默认参数习语,我们在St

ruby-on-rails - 将散列作为函数参数处理

我正在使用RubyonRails3,我正在尝试将散列作为函数参数进行处理。例如,如果我这样声明一个函数:deffunction_name(options={})...end我想向function_name传递一个类似的散列{"key1"=>"value_1","key2"=>"value2","..."=>"..."}然后在函数内部使用它。什么是最佳\常见(Rails)方法?P.S.:我在某处看到了extract_option!方法,但我不知道在哪里可以找到一些文档,也不知道我是否需要这些文档才能实现我的目标。 最佳答案 只需使用您

ruby-on-rails - 如何在中间件中设置一个可在我的所有应用程序中访问的变量?

我正在使用RubyonRails3,我正在尝试使用中间件来设置一个变量@variable_name,以便稍后在Controller中访问。比如我的中间件是classAuthdefinitialize(app)@app=appenddefcall(env)@account||=Account.find(1)@app.call(env)endend上面的代码正确设置了@account变量,但在我的应用程序中(在Controller、模型、View等中)不可用。那么,我怎样才能做到这一点?我看到了thisanswer这是一种做我需要的方法,但我希望@account变量“可直接访问”。也就是说

ruby - rake 将参数传递给相关任务

这是我目前运行rak相关任务的方式task:test=>[:prepare_testdir,:run_tests]目前这两个依赖任务没有参数。但是我需要向其中一项任务添加参数。它应该像在命令行上一样运行rakeprepare_testdir[mydir]我如何将这个新参数传递给这个task:test=>[:prepare_testdir,:run_tests]我试过了task:test=>[:prepare_testdir[mydir],:run_tests]和task:test=>[:prepare_testdir['mydir'],:run_tests]两者都不工作。提前致谢